package com.clinicariobamba.ReglasNegocio.Clases;

import java.text.SimpleDateFormat;
import java.util.Date;


public class Paciente implements java.io.Serializable {

    private Integer id_p;
    
    private String ci;
    private String ciNueva;
    
    private EstadoCivil estadoCivil;
    private Etnia etnia;
    private String nombres;
    private String apellidos;
    private String sexo;
    
    private String fechaNac;
    private Date fechaNacDate;
    
    private String religion;
    private String lateralidad;
    private String lugarNacimiento;
    private String lugarResidencia;
    private String direccion;
    private String telefono;
    private String profesion;
    private String contrasena;
    private boolean estado;
    //private Set<HistoriaClinica> historiaClinicas = new HashSet<HistoriaClinica>(0);
    //private Set<SignosVitales> signosVitaleses = new HashSet<SignosVitales>(0);

    public Paciente() {
        this.etnia = new Etnia();
        this.estadoCivil = new  EstadoCivil();
    }

    public Paciente(Integer id_p, String ci, EstadoCivil estadoCivil, Etnia etnia, String nombres, String apellidos, String sexo, String fechaNac, String religion, String lateralidad, String lugarNacimiento, String lugarResidencia, String direccion, String telefono, String profesion) {
        this.id_p = id_p;
        this.ci = ci;   
        this.estadoCivil = estadoCivil;
        this.etnia = etnia;
        this.nombres = nombres;
        this.apellidos = apellidos;
        this.sexo = sexo;
        this.fechaNac = fechaNac;
        this.religion = religion;
        this.lateralidad = lateralidad;
        this.lugarNacimiento = lugarNacimiento;
        this.lugarResidencia = lugarResidencia;
        this.direccion = direccion;
        this.telefono = telefono;
        this.profesion = profesion;
    }

    
    public Paciente(Integer id_p) {
        this.id_p = id_p;
    }

    public Paciente(String ci, String nombres, String apellidos, String contrasena) {
        this.ci = ci;
        this.nombres = nombres.toUpperCase();
        this.apellidos = apellidos.toUpperCase();
        this.contrasena = contrasena;
    }

    public Paciente(Integer id_p, String ci, String nombres, String apellidos, String contrasena) {
        this.id_p = id_p;
        this.ci = ci;
        this.nombres = nombres.toUpperCase();
        this.apellidos = apellidos.toUpperCase();
        this.contrasena = contrasena;
    }

    public Paciente(Integer id_p, String ci, String nombres, String apellidos, String sexo, String telefono) {
        this.id_p = id_p;
        this.ci = ci;
        this.nombres = nombres.toUpperCase();
        this.apellidos = apellidos.toUpperCase();
        this.sexo = sexo.toUpperCase();
        this.telefono = telefono;
    }

    public Paciente(String ci, String nombres, String apellidos, String sexo, String fechaNac, EstadoCivil estadoCivil, Etnia etnia, String religion, String lateralidad, String lugarNacimiento, String lugarResidencia, String direccion, String telefono, String profesion, String contrasena, boolean estado) {
        this.ci = ci;
        this.estadoCivil = estadoCivil;
        this.etnia = etnia;
        this.nombres = nombres.toUpperCase();
        this.apellidos = apellidos.toUpperCase();
        this.sexo = sexo.toUpperCase();
        this.fechaNac = fechaNac;
        this.religion = religion.toUpperCase();
        this.lateralidad = lateralidad.toUpperCase();
        this.lugarNacimiento = lugarNacimiento.toUpperCase();
        this.lugarResidencia = lugarResidencia.toUpperCase();
        this.direccion = direccion.toUpperCase();
        this.telefono = telefono.toUpperCase();
        this.profesion = profesion.toUpperCase();
        this.contrasena = contrasena;
        this.estado = estado;
        
    }

    public Paciente(Integer id_p, String ci, String nombres, String apellidos, String sexo, String fechaNac, EstadoCivil estadoCivil, Etnia etnia, String religion, String lateralidad, String lugarNacimiento, String lugarResidencia, String direccion, String telefono, String profesion, String contrasena, boolean estado) {
        this.id_p = id_p;
        this.ci = ci;
        setCiNueva(ci);
        this.estadoCivil = estadoCivil;
        this.etnia = etnia;
        this.nombres = nombres.toUpperCase();
        this.apellidos = apellidos.toUpperCase();
        this.sexo = sexo.toUpperCase();
        this.fechaNac = fechaNac;
        this.religion = religion.toUpperCase();
        this.lateralidad = lateralidad.toUpperCase();
        this.lugarNacimiento = lugarNacimiento.toUpperCase();
        this.lugarResidencia = lugarResidencia.toUpperCase();
        this.direccion = direccion.toUpperCase();
        this.telefono = telefono;
        this.profesion = profesion.toUpperCase();
        this.contrasena = contrasena;
        this.estado = estado;
        
    }

    public Paciente(Integer id_p, String ci, String ciNueva, EstadoCivil estadoCivil, Etnia etnia, String nombres, String apellidos, String sexo, String fechaNac, String religion, String lateralidad, String lugarNacimiento, String lugarResidencia, String direccion, String telefono, String profesion, String contrasena, boolean estado) {
        this.id_p = id_p;
        this.ci = ci;
        this.ciNueva = ciNueva;
        this.estadoCivil = estadoCivil;
        this.etnia = etnia;
        this.nombres = nombres.toUpperCase();
        this.apellidos = apellidos.toUpperCase();
        this.sexo = sexo.toUpperCase();
        this.fechaNac = fechaNac;
        this.religion = religion.toUpperCase();
        this.lateralidad = lateralidad.toUpperCase();
        this.lugarNacimiento = lugarNacimiento.toUpperCase();
        this.lugarResidencia = lugarResidencia.toUpperCase();
        this.direccion = direccion.toUpperCase();
        this.telefono = telefono;
        this.profesion = profesion.toUpperCase();
        this.contrasena = contrasena;
        this.estado = estado;
    }

    public String getCiNueva() {
        return ciNueva;
    }

    public void setCiNueva(String ciNueva) {
        this.ciNueva = ciNueva;
    }
    

    public Integer getId_p() {
        return id_p;
    }

    public void setId_p(Integer id_p) {
        this.id_p = id_p;
    }

    public String getCi() {
        return this.ci;
    }

    public void setCi(String ci) {
        this.ci = ci;
    }

    public EstadoCivil getEstadoCivil() {
        return this.estadoCivil;
    }

    public void setEstadoCivil(EstadoCivil estadoCivil) {
        this.estadoCivil = estadoCivil;
    }

    public Etnia getEtnia() {
        return this.etnia;
    }

    public void setEtnia(Etnia etnia) {
        this.etnia = etnia;
    }

    public String getNombres() {
        return this.nombres;
    }

    public void setNombres(String nombres) {
        this.nombres = nombres.toUpperCase();
    }

    public String getApellidos() {
        return this.apellidos;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos.toUpperCase();
    }

    public String getSexo() {
        return this.sexo;
    }

    public void setSexo(String sexo) {
        this.sexo = sexo.toUpperCase();
    }

    public String getFechaNac() {
        return this.fechaNac;
    }

    public void setFechaNac(String fechaNac) {
        this.fechaNac = fechaNac;
    }

    public Date getFechaNacDate() {
        return fechaNacDate;
    }

    public void setFechaNacDate(Date fechaNacDate) {       
        this.fechaNacDate = fechaNacDate;
        this.fechaNac = (new SimpleDateFormat("yyyy-MM-dd").format(fechaNacDate));        
    }
    
    public String getReligion() {
        return this.religion;
    }

    public void setReligion(String religion) {
        this.religion = religion.toUpperCase();
    }

    public String getLateralidad() {
        return this.lateralidad;
    }

    public void setLateralidad(String lateralidad) {
        this.lateralidad = lateralidad.toUpperCase();
    }

    public String getLugarNacimiento() {
        return this.lugarNacimiento;
    }

    public void setLugarNacimiento(String lugarNacimiento) {
        this.lugarNacimiento = lugarNacimiento.toUpperCase();
    }

    public String getLugarResidencia() {
        return this.lugarResidencia;
    }

    public void setLugarResidencia(String lugarResidencia) {
        this.lugarResidencia = lugarResidencia.toUpperCase();
    }

    public String getDireccion() {
        return this.direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion.toUpperCase();
    }

    public String getTelefono() {
        return this.telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono.toUpperCase();
    }

    public String getProfesion() {
        return this.profesion;
    }

    public void setProfesion(String profesion) {
        this.profesion = profesion.toUpperCase();
    }

    public String getContrasena() {
        return this.contrasena;
    }

    public void setContrasena(String contrasena) {
        this.contrasena = contrasena;
    }

    public boolean getEstado() {
        return this.estado;
    }

    public void setEstado(boolean estado) {
        this.estado = estado;
    }    
}
